package com.ics.atable.chat.service;

import com.ics.atable.chat.model.dto.SqlReplaceDTO;

/**
 * SQL 查询服务接口
 *
 * @author system
 */
public interface SqlQueryService {

    /**
     * 根据查询条件查询数据
     *
     * @param replaceParams 查询参数
     * @return 查询响应
     */
    SqlReplaceDTO.QueryResponse queryData(SqlReplaceDTO.QueryRequest.ReplaceParams replaceParams);

    /**
     * 验证查询参数
     *
     * @param replaceParams 查询参数
     * @throws com.ics.atable.chat.expection.BusinessException 参数验证失败时抛出
     */
    void validateQueryParams(SqlReplaceDTO.QueryRequest.ReplaceParams replaceParams);

    /**
     * 根据多个地区批量查询数据
     *
     * @param batchParams 批量查询参数
     * @return 查询响应
     */
    SqlReplaceDTO.QueryResponse batchQueryData(SqlReplaceDTO.BatchQueryRequest.BatchReplaceParams batchParams);
}
